$(document).ready(function () {

    $('#btn-reservation').attr('class', 'navbar-btn btn btn-default btn-active');

    $('title').html("我的预约");
    // var user = $("#user").val();

    // console.log("user ---- : " + user);

    //删除已结束预约的修改按钮
    var updateBtns = $('.update-reservation');
    for (var i = 0; i < updateBtns.length && i < updateBtns.length; i++) {
        var curUpdateBtn = $(updateBtns[i]);
        if (curUpdateBtn.attr('status') === 'canceled') {
            curUpdateBtn.hide()
        }
    }
    //查看预约
    $('.show-reservation').click(function () {
        var id = $(this).attr('role');
        $(location).attr('href', '/reservation-add?id=' + id + '&update=' + 1);
    });


    //修改预约
    $('.update-reservation').click(function () {
        //检查用户角色，如果是管理员和特殊用户不提示，如果是普通用户则提示用户修改后重新变为申请状态
        var id = $(this).attr('role');
        var status = $(this).attr('status');
        console.log(' ----- status ---- ', status);
        $.post('/account-check', function (result) {
            console.log('account-check  result ----- ' + result.id);
            if (result.id === 1 || result === 3) {
                jump2Update(id);
            } else { //普通用户
                if (status === "success") { //
                    bootbox.confirm({//如果申请成功提示用户
                        message: '修改后会使该预约重新变为申请状态，是否进行修改？',
                        buttons: {
                            confirm: {
                                label: '确认修改',
                                className: 'btn-primary'
                            },
                            cancel: {
                                label: '取消',
                                className: 'btn-default'
                            }
                        },
                        callback: function (result) {
                            if (result)
                                jump2Update(id);
                        }
                    });
                } else {
                    jump2Update(id);

                }

            }
        });
    });

    function jump2Update(id) {
        //转到更新页面
        $(location).attr('href', '/reservation-add?id=' + id + '&update=' + 2);
    }

    //点击删除预约
    $('.remove-reservation').click(function () {
        var id = $(this).attr('role');
        var dataStatus = $(this).attr('status');
        var data = {'id': id};
        var type = 1; //1 -删除 ，2 - 设为已取消状态
        console.log('dataStatus  :   ' + dataStatus);
        if (dataStatus === 'finished' || dataStatus === 'failed') { //如果是已完成或者申请失败， 直接删除
            data['type'] = 1;
            removeReservation(data);
        } else if (dataStatus === 'success') { //普通用户如果已经预约成功的话，设置为已取消状态
            $.post('/account-check', function (result) {
                if (result.id === 2) { //普通用户
                    bootbox.confirm({
                        message: '确定要取消并删除该预约(申请已成功)吗(删除后对你的信用有一点影响)?',
                        buttons: {
                            confirm: {
                                label: '确定',
                                className: 'btn-primary'
                            },
                            cancel: {
                                label: '取消',
                                className: 'btn-default'
                            }
                        },
                        callback: function (result) {
                            if (result) {
                                data['type'] = 2;
                                removeReservation(data);
                            }
                        }
                    });
                } else { //管理员或者特殊用户
                    bootbox.confirm({
                        message: '确定删除该预约(申请已成功)吗?',
                        buttons: {
                            confirm: {
                                label: '确定',
                                className: 'btn-primary'
                            },
                            cancel: {
                                label: '取消',
                                className: 'btn-default'
                            }
                        },
                        callback: function (result) {
                            if (result) {
                                data['type'] = 1;
                                removeReservation(data);
                            }
                        }
                    });
                }
            });
        }else{ //预约是loading状态
            bootbox.confirm({
                message: '确定删除该预约(申请中)吗?',
                buttons: {
                    confirm: {
                        label: '确定',
                        className: 'btn-primary'
                    },
                    cancel: {
                        label: '取消',
                        className: 'btn-default'
                    }
                },
                callback: function (result) {
                    if (result) {
                        data['type'] = 1;
                        removeReservation(data);
                    }
                }
            });
        }
    });


    //删除预约
    function removeReservation(data) {
        $.post('/reservation-delete', data, function (result) {
            console.log('result id : ' + result.id);
            if (result.id == 1) { //删除成功
                if (data['type'] == 1) { //1 -删除 ，2 - 设为已取消状态
                    generateNotify('', result.msg, 'success');
                } else {
                    generateNotify('', "取消并删除成功", 'success');
                }
                setTimeout(function () {
                    $(location).attr('href', '/reservation-my');
                }, 500);
            } else {
                generateNotify('', result.msg, 'danger');
            }
        });
    }

    $('.star').on('click', function () {
        $(this).toggleClass('star-checked');
    });

    $('.ckbox label').on('click', function () {
        $(this).parents('tr').toggleClass('selected');
    });

    $('.btn-filter').on('click', function () {
        var $target = $(this).data('target');
        if ($target != 'all') {
            $('.table tr').css('display', 'none');
            $('.table tr[data-status="' + $target + '"]').fadeIn('slow');
        } else {
            $('.table tr').css('display', 'none').fadeIn('slow');
        }
    });

});